]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dbusServices/extensions: Stop using an expander for error details
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 22 May 2025 02:26:19 +0000 (04:26 +0200)
committerMarge Bot <marge-bot@gnome.org>
Fri, 1 Aug 2025 08:57:44 +0000 (08:57 +0000)
Always show the error details up front instead of hiding them in an
expander. Other then getting rid of custom widgetry, this solves
the awkwardness of switching between very little content (which
is best suited by a small window size) to very verbose content
(which favors a tall window).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8413
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

js/dbusServices/extensions/css/application.css
js/dbusServices/extensions/extensionPrefsDialog.js
js/dbusServices/extensions/ui/extension-error-page.ui

index 133e858f5984bbfe9adebeeb05ba909d19ce827f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,7 +0,0 @@
-.expander { padding: 12px; }
-.expander.expanded { border: 0 solid @borders; border-bottom-width: 1px; }
-.expander-toolbar {
-  border: 0 solid @borders;
-  border-top-width: 1px;
-  padding: 3px;
-}
index 9be0e6f4f7eef720d62d85754445d54741cef18d..ab7e684d704483223133c3a386d2e7aa8115905f 100644 (file)
@@ -82,9 +82,6 @@ class ExtensionPrefsErrorPage extends Adw.PreferencesPage {
 
     static [Gtk.internalChildren] = [
         'descriptionLabel',
-        'expander',
-        'expanderArrow',
-        'revealer',
         'errorView',
     ];
 
@@ -124,26 +121,6 @@ class ExtensionPrefsErrorPage extends Adw.PreferencesPage {
 
         this._descriptionLabel.set({label});
 
-        this._gesture = new Gtk.GestureClick({
-            button: 0,
-            exclusive: true,
-        });
-        this._expander.add_controller(this._gesture);
-
-        this._gesture.connect('released', (gesture, nPress) => {
-            if (nPress === 1)
-                this._revealer.reveal_child = !this._revealer.reveal_child;
-        });
-
-        this._revealer.connect('notify::reveal-child', () => {
-            this._expanderArrow.icon_name = this._revealer.reveal_child
-                ? 'pan-down-symbolic'
-                : 'pan-end-symbolic';
-            this._syncExpandedStyle();
-        });
-        this._revealer.connect('notify::child-revealed',
-            () => this._syncExpandedStyle());
-
         const formattedError = formatError(error);
         this._errorView.buffer.text = formattedError;
 
@@ -158,13 +135,6 @@ class ExtensionPrefsErrorPage extends Adw.PreferencesPage {
         this._errorMarkdown = lines.join('\n');
     }
 
-    _syncExpandedStyle() {
-        if (this._revealer.reveal_child)
-            this._expander.add_css_class('expanded');
-        else if (!this._revealer.child_revealed)
-            this._expander.remove_css_class('expanded');
-    }
-
     _addCustomStylesheet() {
         let provider = new Gtk.CssProvider();
         let uri = 'resource:///org/gnome/Shell/Extensions/css/application.css';
index 5af0d2d1171eff661c4d7132e078d947aa1d8728..0f2bc275b98809fbe1a609ad4b7b4e4b3dcea961 100644 (file)
               </object>
             </child>
             <child>
-              <object class="GtkFrame">
-                <property name="margin-top">12</property>
+              <object class="AdwPreferencesGroup">
+                <property name="title" translatable="yes">Error Details</property>
+                <child type="header-suffix">
+                  <object class="GtkButton">
+                    <property name="receives-default">True</property>
+                    <property name="action-name">page.copy-error</property>
+                    <property name="has-frame">False</property>
+                    <property name="icon-name">edit-copy-symbolic</property>
+                    <property name="tooltip-text" translatable="yes">Copy Error</property>
+                  </object>
+                </child>
                 <child>
-                  <object class="GtkBox">
-                    <property name="hexpand">True</property>
-                    <property name="orientation">vertical</property>
-                    <child>
-                      <object class="GtkBox" id="expander">
-                        <property name="spacing">6</property>
-                        <style>
-                          <class name="expander"/>
-                        </style>
-                        <child>
-                          <object class="GtkImage" id="expanderArrow">
-                            <property name="icon-name">pan-end-symbolic</property>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkLabel">
-                            <property name="label" translatable="yes">Technical Details</property>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkRevealer" id="revealer">
-                        <child>
-                          <object class="GtkBox">
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkTextView" id="errorView">
-                                <property name="monospace">True</property>
-                                <property name="editable">False</property>
-                                <property name="wrap-mode">word</property>
-                                <property name="left-margin">12</property>
-                                <property name="right-margin">12</property>
-                                <property name="top-margin">12</property>
-                                <property name="bottom-margin">12</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkBox">
-                                <style>
-                                  <class name="expander-toolbar"/>
-                                </style>
-                                <child>
-                                  <object class="GtkButton">
-                                    <property name="receives-default">True</property>
-                                    <property name="action-name">page.copy-error</property>
-                                    <property name="has-frame">False</property>
-                                    <property name="icon-name">edit-copy-symbolic</property>
-                                    <property name="tooltip-text" translatable="yes">Copy Error</property>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
+                  <object class="GtkTextView" id="errorView">
+                    <property name="monospace">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap-mode">word</property>
+                    <property name="left-margin">12</property>
+                    <property name="right-margin">12</property>
+                    <property name="top-margin">12</property>
+                    <property name="bottom-margin">12</property>
+                    <style>
+                      <class name="card"/>
+                    </style>
                   </object>
                 </child>
               </object>